home *** CD-ROM | disk | FTP | other *** search
- 10 getkint jsr prkomma
- 20 getint jsr chr(NULL)t:jsr frmnum:jmp getadr
- 100 ;**** parameter fuer delete/list holen
- 110 parlist bcc a1:beq a1:cmp # 171
- 120 bne delerr1:a1 jsr getznr:jsr adrzei
- 130 jsr chr(NULL)t:beq a2:cmp # 171
- 140 delerr1 bne delerr:jsr chrget:jsr getznr
- 150 bne delerr:a2 rts:;:;******** delete:;:delete jsr parlist
- 160 lda intadr:ora intadr+1:bne a3
- 170 ldy # 0:tya:a03 sta (flag5f),y:iny:sta (flag5f),y:jmp a9
- 180 a3 lda flag5f
- 190 ldy flag5f+1:sta flag22:sty flag22+1
- 200 jsr adrzei:bcc a5:ldy # 0
- 210 lda (flag5f),y:iny :pha
- 220 lda (flag5f),y:sta flag5f+1:pla
- 230 sta flag5f
- 231 a5 lda flag22+1:cmp flag5f+1:bcc a5a:bne a9
- 232 lda flag22:cmp flag5f:bcs a9
- 240 a5a ldy #0:ldx # 3:a6 lda (flag5f),y
- 250 sta (flag22),y:cmp # 0:bne a7
- 260 dex :beq a9:bne a8
- 270 a7 ldx # 3:a8 iny :bne a6
- 280 inc flag22+1:inc flag5f+1:jmp a6
- 290 a9 jsr bindbas:lda # 2:clc
- 300 adc flag22:sta varstart:lda flag22+1
- 310 adc # 0:sta varstart+1:jmp $a663
- 320 delerr jmp syntax
- 330 ;:;******** old:;
- 340 old bne delerr
- 350 ldy #1:tya:sta ($2b),y
- 370 jsr a9:jmp ready
- 380 ;**** parameter fuer auto/renumber holen
- 390 paraut lda # 0:sta flagfb+1:sta flagfe
- 400 lda # 10:sta flagfb:lda # 100
- 410 sta flagfd:jsr weitzei:cmp #",":beq paraut1:jsr chr(NULL)t:jsr getint
- 420 sty flagfd:sta flagfe
- 422 jsr weitzei:cmp #",":beq paraut1:jmp syntax
- 429 paraut1 jsr chrget
- 430 jsr weitzei
- 435 cmp #",":beq paraut2
- 440 jsr getint
- 450 sty flagfb
- 460 sta flagfb+1:paraut2 rts
- 470 ;:;******** auto:;
- 480 auto lda zeibas+1:cmp #2:beq auto1:rts
- 490 auto1 jsr paraut:jsr chr(NULL)t:beq autoktex
- 491 jsr prkomma:ldy #0:auto12 lda (zeibas),y:sta dbuf,y:beq auto11
- 493 iny:cpy #13:bcc auto12
- 494 auto11 lda #0:sta dbuf,y:lda #16+2:jsr setfla:jmp auto13
- 496 autoktex lda #255-2:jsr clrfla:lda #16:jsr setfla
- 500 auto13 pla:pla:lda #>auret-1:pha:lda #<auret-1:pha
- 518 ldx flagfd:lda flagfe:jmp auto14
- 519 auv0302 clc :lda flagfb
- 520 adc int:sta flagfd:tax:lda flagfb+1
- 530 adc int+1:sta flagfe
- 540 auto14 sta $62:sta int+1:stx $63:stx int:ldx #$90:sec:jsr $bc49:jsr $bddf
- 550 jsr adrzei:bcc auto2:lda #"*":.byt $2c:auto2 lda #160
- 560 sei:ldy #0:sta $0277,y:iny
- 570 auto3 lda $ff,y:beq auto4:sta $0277,y:iny:bne auto3
- 580 auto4 lda #2:bit flaga:beq auto5
- 600 ldx #0:auto41 lda dbuf,x:beq auto5:sta $0277,y:iny:inx
- 610 cpy #15:bcc auto41
- 620 auto5 sty anzkey:cli:rts
- 660 ;:;******** dump:;
- 670 dumperr jmp syntax
- 680 dump bne dumperr:lda varstart:ldy varstart+1
- 690 du1 cpy arrstart+1:bne du2:cmp arrstart:du2 bcs duvend;groesser => ende
- 700 sta intadr:sty intadr+1
- 710 lda #13;return:jsr bsout:jsr getstop:jsr dumpvar
- 720 lda intadr:ldy intadr+1:clc:adc #7:bcc du1:iny:bne du1
- 730 dumpvar jsr duname:bcs dustrbin
- 740 lda intadr:adc #2:ldy intadr+1:bcc du3:iny:du3 cpx #128:bcs dufunk
- 750 pha:lda #" ":jsr duglout:pla:jsr $bba2;flieskommavar. holen
- 760 du4 jsr $bddd;in ascii-format:jmp $ab1e;ausgeben:duvend jmp duarr
- 770 dustrbin txa:bpl dustr;stringvar
- 780 lda #"%":jsr duglout:ldy #2;integervar:lda (intadr),y;low-byte:tax:iny
- 790 lda (intadr),y;high-byte:tay:txa:jsr $b395;in flieskomma wandeln
- 800 jmp du4;in ascii und ausgeben
- 810 dustr lda #"$":jsr duglout:jsr duhkout;hochkomma
- 811 lda #4:jsr setfla
- 820 ldy #2:lda (intadr),y;laenge:beq dustrr;fertig:sta flagff
- 830 iny:lda (intadr),y:sta flag22:iny:lda (intadr),y:sta flag22+1
- 840 ldy #0:dust1 lda (flag22),y:jsr bsout:iny:cpy flagff;fertig
- 850 bne dust1:dustrr lda #255-4:jsr clrfla
- 855 duhkout lda #$22:jmp bsout
- 860 dufunk ldy #2:lda (intadr),y:sec:sbc #1:sta flag5f:iny:lda (intadr),y
- 870 sbc #0:sta flag5f+1:iny:lda (intadr),y:sec:sbc #2:sta flag22
- 880 iny:lda (intadr),y:sbc #0:sta flag22+1:lda #"(":jsr bsout
- 890 ldy #0;argument:lda (flag22),y:jsr bsout:iny:lda (flag22),y
- 900 beq duf1:jsr bsout
- 910 duf1 lda #")":jsr duglout
- 920 lda #128:jsr setfla:ldy #0:sty flagff:jsr ldump
- 930 lda #127:jsr clrfla:rts
- 940 duend lda #13:jmp bsout
- 950 duarr lda arrstart:ldy arrstart+1
- 960 dua1 cpy arrend+1:bne dua2:cmp arrend:dua2 bcs duend
- 970 sta intadr:sty intadr+1:lda #13:jsr bsout:jsr getstop
- 980 jsr duname:bcc duafk;flieskomma
- 990 txa:bmi duaint:lda #"$":.byt $2c
- 1000 duaint lda #"%":.byt $2c:duafk lda #" ":jsr bsout:lda #"(":jsr bsout
- 1010 ldy #4:lda (intadr),y:sta flagfb;anzahl dimensionen
- 1020 clc:lda #5:adc intadr:sta flagfd:lda intadr+1:adc #0:sta flagfd+1
- 1030 jmp dua4:dua3 dec flagfb:beq duaadd:lda #",":jsr bsout
- 1040 dua4 lda flagfb:asl:tay:dey
- 1050 lda (flagfd),y:sec:sbc #1:pha:dey:lda (flagfd),y:sbc #0
- 1060 tay:pla:tax:tya:jsr adrout:jmp dua3
- 1070 duaadd lda #")":jsr bsout:ldy #2:lda (intadr),y:clc:adc intadr:pha
- 1080 iny:lda (intadr),y:adc intadr+1:tay:pla:jmp dua1
- 1090 duname ldy #0:lda (intadr),y:tax:and #127:jsr bsout
- 1100 iny:lda (intadr),y:tay:and #127:beq dun1:jsr bsout
- 1110 dun1 tya:asl:rts
- 1120 duglout jsr bsout;ist-gleich ausg.
- 1130 lda #"=":jsr bsout:rts
- 1140 ;:;******** find:;
- 1150 fiend pla:pla:jmp ready:find lda bastart+1;basic-start -1
- 1160 sta flagfd+1:lda bastart:sta flagfd
- 1170 bne d1:dec flagfd+1:d1 dec flagfd
- 1180 jsr d10:d2 ldy # 0:lda (flagfd),y;byte holen
- 1190 bne d5;nicht null:iny;zeilenende
- 1200 iny:lda (flagfd),y;hi-byte verkettungsadr:beq fiend;ende prg
- 1210 lda flagfd:sta flag5f:lda flagfd+1:sta flag5f+1
- 1220 lda flagfd;5 addieren als anfang text
- 1230 clc :adc # 5:sta flagfd
- 1240 bcc d4:inc flagfd+1:d4 jsr getstop;stop taste abfragen
- 1250 jmp d2:d5 cmp (zeibas),y;erstes zeichen gesuchter text:bne d8;nicht gefunden
- 1260 lda flagfd;adresszeiger retten:sta flagfb:lda flagfd+1
- 1270 sta flagfb+1:d6 iny :cpy flagc8;text zuende
- 1280 beq d9;ja,listen:lda (flagfd),y;ende zeile:beq d7;ja,weiter
- 1290 cmp (zeibas),y;vergleichen:beq d6:d7 lda flagfb;ungleich
- 1300 sta flagfd;adresszeiger zurueckholen:lda flagfb+1:sta flagfd+1
- 1310 d8 inc flagfd;und um 1 erhoehen:bne d2:inc flagfd+1
- 1320 bne d2:d9 inc flag5f:bne d09:inc flag5f+1:d09 ldy #2:lda (flag5f),y
- 1330 tax:iny:lda (flag5f),y:jsr llist;listen:lda # 13;carriage return
- 1340 jsr bsout;ausgeben
- 1350 d12 ldy # 255;adresszeiger auf anfang:d13 iny;naechster zeile:lda (flagfd),y
- 1360 bne d13:tya :clc
- 1370 adc flagfd:sta flagfd:bcc d14
- 1380 inc flagfd+1:d14 jmp d2;weitersuchen
- 1390 d10 ldy # 255;laenge des gesuchten:d11 iny;textes holen:lda (zeibas),y
- 1400 bne d11:sty flagc8:rts
- 1410 ;:;******** renumber:;
- 1412 rsyn lda #11:.byt $2c
- 1420 rend lda #128:.byt $2c
- 1430 rillq lda #14:.byt $2c
- 1440 rmemer lda #16
- 1450 sta flagc8:jsr a9:ldx flagc8:jmp $a437
- 1460 renum jsr paraut:lda flagfb:ora flagfb+1:bne r00:jmp illquant
- 1470 r00 ldy #1:lda (bastart),y:beq rend
- 1480 jsr a9:jsr chr(NULL)t:beq r0a:cmp #",":bne rsyn:jsr chrget:r0a jsr parlist
- 1482 lda intadr:ora intadr+1:bne r01:ldx #$ff:ldy #$ff:bne r02
- 1484 r01 ldx intadr:ldy intadr+1
- 1486 r02 stx flag22:sty flag22+1
- 1488 jmp r03:riq1 bcs rillq
- 1500 r1 stx flag5f:sty flag5f+1
- 1510 r03 ldy #1:lda (flag5f),y:beq r4
- 1512 ldy #3:lda (flag5f),y:cmp flag22+1:bcc rrr:bne r4
- 1514 dey:lda (flag5f),y:cmp flag22:bcc rrr:bne r4
- 1520 rrr lda strstart:sec:sbc #4:sta strstart:tax
- 1530 lda strstart+1:sbc #0:sta strstart+1:cmp varstart+1:bcc rmemer:bne r1a
- 1540 cpx varstart:bcc rmemer
- 1550 r1a ldy #3:lda (flag5f),y:sta (strstart),y:dey
- 1560 lda (flag5f),y:sta (strstart),y:dey:lda flagfd+1:sta (strstart),y
- 1570 tax:dey:lda flagfd:sta (strstart),y:ldy #2:sta (flag5f),y
- 1580 iny:txa:sta (flag5f),y:lda flagfd:clc:adc flagfb:sta flagfd
- 1590 lda flagfd+1:adc flagfb+1:sta flagfd+1:bcs riq1
- 1600 r04 ldy #0:lda (flag5f),y:tax:iny:lda (flag5f),y:tay:bne r1
- 1610 r4 jsr $a68e
- 1620 r5 ldy #0:lda (zeibas),y:bne r6
- 1630 iny:lda (zeibas),y:bne r7
- 1640 iny:lda (zeibas),y:bne r7
- 1650 jmp rend
- 1660 r7 lda zeibas:clc:adc #5:sta zeibas
- 1670 bcc r5:inc zeibas+1:bne r5
- 1680 r6 cmp #$a7:beq rthen
- 1690 r8 cmp #$89;goto:beq r(NULL)t
- 1700 cmp #$8d;gosub:beq r(NULL)t
- 1710 cmp #$cb;(NULL):beq r(NULL)
- 1715 cmp #$22;hochkomma:beq rhoko
- 1720 r9 inc zeibas:bne r5:inc zeibas+1:bne r5
- 1721 rhoko ldy #1:rho1 lda (zeibas),y:beq rho3
- 1722 cmp #$22:beq rho2:iny:bne rho1
- 1723 rho2 iny:rho3 tya:clc:adc zeibas:sta zeibas:bcc r5:inc zeibas+1:bne r5
- 1730 rthen jsr chrget:beq r9:bcs r8:bcc r10
- 1740 r(NULL) jsr chrget:cmp #$a4;to:bne r5
- 1750 r(NULL)t jsr chrget:bcs r5:r10 lda zeibas:sta flagfd
- 1760 lda zeibas+1:sta flagfd+1:jsr getint;fac in adr
- 1770 sec:lda zeibas:sbc flagfd:sta $57
- 1780 ;**** neue zeilennummer zu der alten finden
- 1790 lda strstart:sta flag35:lda strstart+1:sta flag35+1
- 1800 r11 ldy #3:lda (flag35),y:cmp intadr+1:bne r12:dey
- 1810 lda (flag35),y:cmp intadr:beq r13
- 1820 r12 lda #4:clc:adc flag35:sta flag35:tax:bcc r12a
- 1830 inc flag35+1:r12a lda flag35+1:cmp basend+1:bcc r11:bne r11a
- 1840 cpx basend:bcc r11
- 1850 r11a lda intadr+1:ldx intadr:jmp r14
- 1860 r13 dey:lda (flag35),y:pha:dey:lda (flag35),y:tax:pla
- 1870 r14 jsr rfacasc
- 1880 ldy #$ff:r15 iny:lda stack,y:bne r15
- 1890 lda flagfd:sta flag5f
- 1900 lda flagfd+1:sta flag5f+1
- 1910 tya:sec:sbc $57:sta $57
- 1920 beq r16;zahlen gleich lang:bcc r17;neue<alte => kleinere adr
- 1930 lda varstart:sta $5a:clc:adc $57:sta $58:sta varstart
- 1940 lda varstart+1:sta $5b:adc #0:sta $59:sta varstart+1
- 1950 cmp strstart+1:bcc r18:beq r18a:r18b jmp rmemer
- 1960 r18a lda varstart:cmp strstart:bcs r18b
- 1970 r18 jsr $a3bf:jmp r16
- 1980 r17 lda zeibas:sta flag5f:clc:adc $57:sta flagfb
- 1990 lda zeibas+1:sta flag5f+1:sbc #0:sta flagfb+1
- 2000 r20 ldy #0:lda (flag5f),y:sta (flagfb),y
- 2010 inc flagfb:bne r20a:inc flagfb+1
- 2020 r20a inc flag5f:bne r20b:inc flag5f+1
- 2030 r20b lda flag5f:cmp varstart:bne r20
- 2040 lda flag5f+1:cmp varstart+1:bne r20
- 2050 r16 lda flagfd:sta zeibas:lda flagfd+1:sta zeibas+1
- 2060 ldy #0:r21 lda stack,y:beq r22:sta (zeibas),y
- 2070 iny:bne r21
- 2080 r22 tya:clc:adc zeibas:sta zeibas:bcc r23
- 2090 inc zeibas+1:r23 jsr chr(NULL)t:cmp #",":bne r24
- 2100 jsr chrget:bcs r24:jmp r10:r24 jmp r5
- 2110 rfacasc sta $62:stx $63:ldx #$90:sec:jsr $bc49:jmp $bddf
-